/* MOSKITO — Fog background module */
#moskito-bg-root{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
#moskito-bg-root #moskito-gl{position:absolute;inset:0;width:100%;height:100%;display:block;}
#moskito-bg-root #moskito-vignette{position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 220px 60px rgba(0,0,0,0.85);}
#moskito-bg-root #moskito-grain{position:absolute;inset:-50%;pointer-events:none;opacity:0.05;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  animation:moskito-grain 0.9s steps(3) infinite;}
@keyframes moskito-grain{0%{transform:translate(0,0)}33%{transform:translate(-3%,2%)}66%{transform:translate(2%,-2%)}100%{transform:translate(0,0)}}

.moskito-cursor-active{cursor:none;}

#moskito-skeeter{position:fixed;z-index:9999;top:0;left:0;width:64px;height:64px;
  margin:-32px 0 0 -32px;pointer-events:none;will-change:transform;}
#moskito-skeeter .wingL,#moskito-skeeter .wingR{transform-box:fill-box;transform-origin:30% 90%;}
#moskito-skeeter.fly .wingL{animation:moskito-flutL .07s linear infinite;}
#moskito-skeeter.fly .wingR{animation:moskito-flutR .07s linear infinite;}
@keyframes moskito-flutL{0%{transform:rotate(8deg) scaleY(1)}50%{transform:rotate(-46deg) scaleY(0.7)}100%{transform:rotate(8deg) scaleY(1)}}
@keyframes moskito-flutR{0%{transform:rotate(-8deg) scaleY(1)}50%{transform:rotate(46deg) scaleY(0.7)}100%{transform:rotate(-8deg) scaleY(1)}}

.moskito-splat{position:fixed;z-index:9998;pointer-events:none;border-radius:50%;mix-blend-mode:screen;}
